import { useUserStore } from '@/store'

/**
 * 权限检查工具函数
 * 用于替代 v-hasPermi 指令，解决小程序兼容性问题
 * @param {string|Array} permissions 权限字符串或权限数组
 * @returns {boolean} 是否有权限
 */
export function checkPermission(permissions) {
  const userStore = useUserStore()
  const userPermissions = userStore.permissions || []
  const all_permission = "*:*:*"
  
  // 如果用户有超级权限，直接返回 true
  if (userPermissions.includes(all_permission)) {
    return true
  }
  
  // 检查权限
  if (permissions && permissions.length > 0) {
    // 支持字符串和数组格式
    const permissionList = Array.isArray(permissions) ? permissions : [permissions]
    
    return permissionList.some(permission => {
      return userPermissions.includes(permission)
    })
  }
  
  return false
}

/**
 * 权限检查组合式函数
 * 在 Vue 3 Composition API 中使用
 * @returns {Function} 权限检查函数
 */
export function usePermission() {
  return checkPermission
}